package com.hedl.classroom.service;

import com.hedl.classroom.model.dto.CoursePreviewDto;
import com.hedl.classroom.model.po.CoursePublish;

import java.io.File;

/**
 * ProjectName: onlinec-classroom
 * DateTime: 2023/7/23 08:02
 * Author: Big Watermelon
 * Description: 课程预览、发布接口
 */
public interface CoursePublishService {

    /**
     * 获取课程预览信息
     * @param courseId 课程id
     * @return
     */
    CoursePreviewDto getCoursePreviewInfo(Long courseId);

    /**
     * 提交审核
     * @param courseId  课程id
     * @param companyId 机构id
     */
    void commitAudit(Long companyId,Long courseId);

    /**
     * 课程发布
     * @param companyId 机构id
     * @param courseId 课程id
     */
    void publish(Long companyId,Long courseId);

    /**
     * 课程静态化
     * @param courseId 课程id
     * @return 静态化文件
     */
    File generateCourseHtml(Long courseId);

    /**
     * 上传课程静态化页面
     * @param courseId 课程id
     * @param file 静态化文件
     */
    void uploadCourseHtml(Long courseId,File file);

    /**
     * 根据课程 id查询课程发布信息
     * @param courseId
     * @return
     */
    public CoursePublish getCoursePublish(Long courseId);

}
